1. Field of the Invention
The present invention relates generally to wireless communication systems, and more particularly, to a method and apparatus for providing multiple service discovery in a wireless environment.
2. Description of the Related Art
Wireless communication technologies such as Bluetooth, Infrared, etc., are used by devices to communicate wirelessly over a relatively short range, e.g., less than 100 meters.
Generally, to discover other wireless devices within a communication range, a device broadcasts wireless messages and waits for responses to the wireless messages from other devices. If another device is discovered, a wireless connection may be established between the devices.
Once a connection is established, devices may exchange various types of information. For example, devices may exchange information related to providing a service, e.g., printing, headset connectivity, personal digital assistant (PDA) synchronization, etc., provided by one of the devices.
Currently, Wireless Fidelity (Wi-Fi®) alliance has defined an application service platform for advertising available. Further, the Wi-Fi® application service platform allows the adding of multiple service hash values, when a device supports multiple services. The service hash values are generally 6 bytes in size.
FIG. 1 is a signal flow diagram illustrating a conventional method for providing multiple service discovery in a wireless environment.
Referring to FIG. 1, an individual service 104 in an advertiser device 102 advertises itself to an application service platform (ASP) 106 in the advertiser device 102 with a full reverse Domain Name System (DNS) service name. A service 112 in a seeker device 110 can seek a service by sending a seek service primitive, which includes requested service name to be searched, to an ASP 114 of the seeker device 110. The ASP 114 then triggers a probe request message including a service hash attribute. For example, the ASP 114 calculates the service hash value for the requested service name using a 256 secure hash algorithm (SHA) 1 algorithm. After the service hash value for the service name is calculated, the first 6 bytes are sent in the probe request message.
When the advertiser device 102 receives the probe request message, the advertiser device 102 matches the received service hash value with a service hash value of one or more registered service names. After a match is found, the advertiser device 102 sends a probe response message to the seeker device 110. The probe response message includes the matched full service name.
After the seeker device 110 receives the probe response message and the device discovery is completed, the seeker device 110 identifies the advertiser device 102 and the supported service 104. The seeker device 110 then performs service discovery with the all of the searched devices in order to determine detail information about the service. For example, the seeker device 110 sends service discovery request, such as a service discovery generic advertisement service (GAS) request requesting details of the service 104. The advertiser device 102 responds to the service discovery GAS request in a service discovery response, e.g., a GAS response. The GAS response includes the details of the services (e.g., for A send service, the response includes role of the devices such as a transmitter or a receiver, a serviced version number, etc.)
Currently, wireless serial bus (WSB) is being developed to support universal serial bus (USB) over a Wi-Fi® network. The procedure for performing device discovery, service discovery, and connection over a Wi-Fi® Direct network is as defined in the Wi-Fi® standards. WSB defines three kinds of architecture elements (roles), which include a host service, a client service, and a hub service. The advertiser device 102 and the seeker device 110 can take any kind of the role during a WSB session. However, one WSB session supports only one host role.
Conventional USB architecture requires a USB class, a USB subclass, and an interface to be exchanged during a service discovery mechanism. However, current ASP architecture requires the seeker device to perform service discovery of all USB devices in order to identify a USB device within the particular device class, which requires too much information exchange.
Further, if a single USB device supports multiple USB classes, which may be the case for high end devices such as smart phones and tablets, the seeker device may require a substantial amount of hash information to be sent during the device discovery in order to represent this information in the service hash, thereby leading to unnecessary service discovery message exchange between the seeker device and advertiser device.
In view of the foregoing, there is a need for a method and apparatus for performing device discovery that avoids unnecessary message flow in a wireless environment.